#include <bits/stdc++.h>  
  
using namespace std;  
const int MAXN=1e5+10;  
const int inf=1e9;  
int n,m;  
int top,flag;  
char ans[MAXN];  
char s[MAXN*10];  
char sta[MAXN];  
int main()  
{  
    int cnt=0;  
    while(gets(s)&&s[0]!='.')  
    {  
        int l=strlen(s);  
        for(int i=0; i<l; ++i)  
        {  
            if(s[i]=='('||s[i]==')'||s[i]=='{'||s[i]=='}'||s[i]=='['||s[i]==']')  
            {  
                ans[cnt++]=s[i];  
            }  
            else if(s[i]=='/'&&s[i+1]=='*')  
            {  
                ans[cnt++]='a';  
                i++;  
            }  
            else if(s[i]=='*'&&s[i+1]=='/')  
            {  
                ans[cnt++]='b';  
                i++;  
            }  
        }  
    }  
    //puts(ans);  
    top=0;  
    flag=1;  
    int i;  
    for(i=0; i<cnt; ++i)  
    {  
        if(ans[i]=='('||ans[i]=='['||ans[i]=='{'||ans[i]=='a')  
        {  
            sta[top++]=ans[i];  
        }  
        else if(!top)  
        {  
            puts("NO");  
            printf("?-");  
            if(ans[i]=='b')printf("*/\n");  
            else printf("%c\n",ans[i]);  
            flag=0;  
            break;  
        }  
        else if(ans[i]-sta[top-1]!=1&&ans[i]-sta[top-1]!=2)  
        {  
            puts("NO");  
            if(sta[top-1]=='a')printf("/*");  
            else printf("%c",sta[top-1]);  
            printf("-?\n");  
            flag=0;  
            break;  
        }  
        else top--;  
    }  
    if(flag)  
    {  
        if(!top)puts("YES");  
        else  
        {  
            puts("NO");  
            if(sta[0]=='a')printf("/*");  
            else printf("%c",sta[0]);  
            printf("-?\n");  
        }  
    }  
    return 0;  
}  
